草庐IT

iOS 控制 subview 的 UIView alpha 行为

全部标签

Windows 筛选器驱动程序 : Fast IO and IRPs

我编写了一个只关心写入的简单过滤器驱动程序。过滤器只注册IRP_MJ_WRITE。过滤器驱动程序会删除它不关心的内容:如果写的是0字节长如果请求者是内核模式如果元数据中的文件名与我们感兴趣的特定文件匹配我想要捕获的是所有实际写入磁盘的写入。我应该关注哪些写入?目前我正在捕获所有IRP和FAST_IO。但是捕获两者会产生一些重复。仅捕获IRP,我似乎遗漏了一些数据,仅捕获FAST_IO也是如此。我读过http://msdn.microsoft.com/en-us/library/ff548576.aspx(“IRP不同于快速I/O”),但这并没有阐明我的经验数据。我正在尝试做的是在过滤器

c++ - 无法重定向程序的控制台输出

我有一个程序,我想将它的输出重定向到另一个文件。我尝试使用标准foo.exe>out.txt这不起作用,文件是空的,但是当我简单地从cmd运行它时,我可以正常看到所有消息。我确实注意到,如果我没有正确启动程序,并收到它的使用消息,它确实可以工作。我检查了源代码(C++),打印件(使用printf)似乎不是来自同一个线程。知道为什么会发生这种情况,我该如何解决? 最佳答案 我设法通过添加来解决这个问题setbuf(stdout,NULL);到主程序。我猜标准输出缓冲区没有刷新。 关于c++

windows - NSIS 使用 GetParameters 的奇怪行为

我在使用NSIS时遇到了一个奇怪的错误:!include"MUI2.nsh"!include"FileFunc.nsh"#TouseGetParametersNamensDialogsOutFilensDialogs.exeFunction.onInit${GetParameters}$R0MessageBoxMB_OK"$R0"FunctionEnd!insertmacroMUI_PAGE_WELCOMESectionDetailPrint"helloworld"SectionEnd如果我使用这个命令行nsDialogs.exe/d=hello消息框如预期的那样显示:“/d=hell

c++ - 在 Windows 上增加 io 优先级?

原来我的生产者函数只会写入数据,现在我有第二个线程负责写入数据。生产者函数将memcpy写入循环缓冲区并触发消费者线程开始写入。当我使用2线程方案时,我获得了所需的线程隔离、程序稳定性和写入前可变计算的能力——但io性能降低了50%。我的理论是,可以为每个我想要调整的线程设置某种优先级。这可能吗?我在RAID0数据剥离配置中使用2个SSD。 最佳答案 “io性能降低50%”是什么意思?根据您的资源监视器,它已达到最高:磁盘队列已满,磁盘事件时间为100%。如果您的意思是写入速度跳跃-它们与任何可能的线程优先级无关。它们是由文件碎片引

windows - 如何使Right Alt在美国键盘布局中的行为像AltGR?

我需要键入德语特殊字符,如äöüß。使用“美国国际键盘布局”,我可以使用altgr键入这些字符。不幸的是,“美国国际键盘布局”有太多我不需要的特殊“死键”,而且常常令人讨厌。例如,当我输入'c时,它变为ç。如果我使用“美国键盘布局”(非国际),右alt的行为与左alt完全相同,不能用于输入特殊字符。德语键盘布局不是一个选项,因为这么多键在不同的地方。我只需要äöüß。所以,我的问题是,要么禁用“美国国际键盘布局”中的其他死键,要么使右alt的行为类似于“美国键盘布局”中的altgr。我已经检查了thisanswer,但它似乎对我不起作用,因为altgr不在列表中。我想autoit和au

windows - 在彩色控制台中生成 perl 脚本

在windows下,我在想system"start","cmd.exe","color""25""/k","script.pl"但它不起作用。有没有标准的方法来做到这一点? 最佳答案 首先,自start以来,您不应该使用system的多参数形式执行start是一个内置的外壳。但是Windows上的一个Perlbug特性假装你说了system'start"cmd.exe""color""25""/k""script.pl"'这让我们想到了start糟糕的语法。如果第一个参数被引用,它被认为是窗口标题。你要system'start"""

windows - 一个简单的 MASM32 程序的奇怪行为

我想编写类似于以下C++程序的MASM程序:#include#includetypedefUINT(_stdcall*FuncPtr)(LPCSTRlpCmdLine,UINTuCmdShow);intmain(void){HMODULEhDll=LoadLibrary(TEXT("Kernel32.dll"));FuncPtrfunc_addr=reinterpret_cast(GetProcAddress(hDll,"WinExec"));(*func_addr)("C:\\WINDOWS\\system32\\calc.exe",SW_SHOWDEFAULT);FreeLibra

ios - 使用 GL_POINTS 时 gl_Position 是否设置矩形的中心?

我正在开发可在多个平台上运行的C#/OpenGL代码库:通过MonoTouch的iOS/OpenGLES2.0、通过OpenTK的Windows/OpenGL以及其他平台。当从四边形切换到GL_POINTS渲染时,我注意到我正在绘制的矩形在iOS上渲染时带有偏移量。似乎在Windows上,gl_Position定义了要绘制的矩形的中心。这是我期望的行为。在iOS/OpenGLES2.0/MonoTouch上,gl_Position似乎设置了矩形的左上角。我花了几个小时试图找出造成这种情况的原因,因为,当然,我认为这是由我的代码中的错误引起的。但在我浪费更多时间之前:使用GL_POINT

c++ - 如何在控制台应用程序中使用 GetMessage() 使用 Windows API 识别 C++ 中的键盘输入?

首先是大局:我正在尝试通过Windows7(64位)上的控制台程序同步两个外部设备。也就是说,设备1应该触发设备2。(出于好奇,设备1是NIUSB-6525,我正在使用它的变化检测功能。)我在while循环中使用GetMessage()来等待设备1触发的消息。(因为我没有为该硬件编写软件,所以我无法改变我必须阅读的事实这条消息。)阅读该消息后,它是dispatched.此分派(dispatch)导致回调函数,该函数使用设备2执行测量并将measurementComplete设置为true。一旦回调返回,循环结束。然后我执行清理并退出应用程序。问题是,用户在等待消息时也应该能够中止,例如

c++ - 如何在 Windows 控制台中将数据输出到自定义流(3> 4> 等)?

在文档中,除了标准stdin、stdout和stderr之外,还有关于其他流的信息。(http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true)UNDEFINED3-9-这些句柄由应用程序单独定义,并且特定于每个工具。所以我想要完成的是通过自己的输出流创建比方说在插槽3上并将其用于调试。(我看到系统没有提供stddbg流。)所以我的问题是-是否可以检查非标准输出流是否正在等待数据,就像我对stderr所做的那样:isatty(filen